package com.yc.cloud.openai.portal.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yc.cloud.common.basic.dto.BaseQueryParam;
import com.yc.cloud.openai.entity.ImageRecord;
import com.yc.cloud.openai.portal.dto.request.ImageRecordListParam;
import com.yc.cloud.openai.vo.ImageRecordVo;

import java.util.List;

/**
 * <p>
 * AI绘画记录 服务类
 * </p>
 *
 * @author Yancy
 * @since 2024-10-30
 */
public interface ImageRecordService extends IService<ImageRecord> {

    /***
     * description:查询列表
     *
     * @param imageRecordListParam
     * @param param 查询条件
     * @return 数据信息
     */
    IPage<ImageRecordVo> list(ImageRecordListParam imageRecordListParam, BaseQueryParam param);

    ImageRecordVo convertVo(ImageRecord imagerecord);

    List<ImageRecordVo> convertVo(List<ImageRecord> imagerecordList);

    ImageRecord create(ImageRecord param);

    ImageRecord get(Long id);

    ImageRecord update(Long id, ImageRecord imagerecord);

    boolean delete(Long id);

    /**
     * 通过状态列表查询
     *
     * @param statusList 状态列表
     * @return 数据列表
     */
    List<ImageRecord> listByStatus(List<String> statusList);

    /**
     * 通过UUID修改任务状态
     *
     * @param uuid   UUID
     * @param status 任务状态
     */
    void updateStatusByUuid(String uuid, String status);
}



